package com.hanamaki.study.day02;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class SeleniumNavigation01 {

    //注册驱动
    WebDriver driver;
    /* 实例化导航对象  */
    Navigation navigate;

    @BeforeMethod
    public void setUp() {

        //注册本地火狐打开的位置
        System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");
        //初始化
        /* driver 代表浏览器 */
        driver = new FirefoxDriver();
        /* 通过浏览器对象 来实例化导航对象 */
        navigate = driver.navigate();

    }

    @Test
    public void test() throws InterruptedException {
        /* 通过  driver.get 可以打开某一个网络资源路径 */
        driver.get("https://www.baidu.com");

        /* 使用脚本 元素定位（xpath） 百度中的搜索的文本框 */
        WebElement element = driver.findElement(By.xpath("//input[@class='s_ipt']"));
        element.sendKeys("selenium");

        /* 使用 id 来定位  百度一下的按钮 */
        driver.findElement(By.id("su")).click();


        /* 在selenium 脚本中可以为元素 添加 等待时间  UFT：wait(3)：强制等待 3s */
        /* 在Java中可以通过 */
        Thread.sleep(3000);

        /* 在导航对象中 有哪些方法可以使用？ */
        /* 1. 返回 */
        navigate.back();
        Thread.sleep(3000);

        /* 前进 */
        navigate.forward();
        Thread.sleep(3000);

        /* 刷新 */
        navigate.refresh();
        Thread.sleep(3000);

        /* 打开网址 */
        navigate.to("https://www.jd.com/");
    }


    @AfterMethod
    public void close() {
//        driver.close();
    }
}
